package usbcali.edu.presentation.backEndBeans;

import java.math.BigDecimal;
import java.sql.Date;
import java.util.ArrayList;
import java.util.List;
import java.util.TimeZone;

import javax.faces.model.SelectItem;
import javax.servlet.http.HttpSession;

import usbcali.edu.persistencia.Funcionarios;
import usbcali.edu.persistencia.Usuarios;
import usbcali.edu.persistencia.control.autenticarLogica;
import usbcali.edu.persistencia.utilidades.CargaParametros;
import usbcali.edu.utilities.FacesUtils;



import com.icesoft.faces.component.ext.HtmlCommandButton;
import com.icesoft.faces.component.ext.HtmlInputSecret;
import com.icesoft.faces.component.ext.HtmlOutputText;
import com.icesoft.faces.context.effects.EffectQueue;



public class autenticarVista {
	private HtmlOutputText lbUsuario;
	private HtmlOutputText lbPasswor;
	private HtmlCommandButton btnAceptar ;
	
	private Date date;
	private TimeZone timeZone;
	private HtmlInputSecret txtpasswor;
	private BigDecimal valoresItemsauten;
	private List<Usuarios> listausuar = new ArrayList<Usuarios>(); 
	private List<SelectItem> valoresComboauten;
	public EffectQueue efectos;
	String mensaje;
	
	
	
	
	
	public String getMensaje() {
		return mensaje;
	}
	public void setMensaje(String mensaje) {
		this.mensaje = mensaje;
	}
/*	public boolean isPopUpVisibleGuar() {
		return popUpVisibleGuar;
	}
	public void setPopUpVisibleGuar(boolean popUpVisibleGuar) {
		this.popUpVisibleGuar = popUpVisibleGuar;
	}*/
	public EffectQueue getEfectos() {
		return efectos;
	}
	public void setEfectos(EffectQueue efectos) {
		this.efectos = efectos;
	}
	public HtmlCommandButton getBtnAceptar() {
		return btnAceptar;
	}
	public void setBtnAceptar(HtmlCommandButton btnAceptar) {
		this.btnAceptar = btnAceptar;
	}
	public HtmlOutputText getLbUsuario() {
		return lbUsuario;
	}
	public void setLbUsuario(HtmlOutputText lbUsuario) {
		this.lbUsuario = lbUsuario;
	}
	
	public Date getDate() {
		return date;
	}
	public void setDate(Date date) {
		this.date = date;
	}
	public TimeZone getTimeZone() {
		return timeZone;
	}
	public void setTimeZone(TimeZone timeZone) {
		this.timeZone = timeZone;
	}
	public HtmlInputSecret getTxtpasswor() {
		return txtpasswor;
	}
	public void setTxtpasswor(HtmlInputSecret txtpasswor) {
		this.txtpasswor = txtpasswor;
	}
	public List<SelectItem> getValoresComboauten() {
		return valoresComboauten;
	}
	public void setValoresComboauten(List<SelectItem> valoresComboauten) {
		this.valoresComboauten = valoresComboauten;
	}
	public BigDecimal getValoresItemsauten() {
		return valoresItemsauten;
	}
	public void setValoresItemsauten(BigDecimal valoresItemsauten) {
		this.valoresItemsauten = valoresItemsauten;
	}
	public HtmlOutputText getLbPasswor() {
		return lbPasswor;
	}
	public void setLbPasswor(HtmlOutputText lbPasswor) {
		this.lbPasswor = lbPasswor;
	}
	
	
	public autenticarVista() {
		super();
		
		try {
            //  usuariologica logicaUsuario= new usuariologica();
              autenticarLogica logicaAutenticar=new autenticarLogica();
			  //List<Usuarios>  consultar=logicaAutenticar.consultarUsuario(); 
               
           listausuar = logicaAutenticar.consultarUsuario();
            
             
			  if(listausuar!=null)
			  {
				  valoresComboauten = new ArrayList<SelectItem>();
				for (Usuarios hola : listausuar) {
					SelectItem si = new SelectItem(hola.getFuncionarios().getCedula(),hola.getLoggin());
						valoresComboauten.add(si);
						
				
				}
				
				
}
			
		} catch (Exception e) {
			e.printStackTrace();
		}


	}
	
	public List<Usuarios> getListausuar() {
		return listausuar;
	}
	public void setListausuar(List<Usuarios> listausuar) {
		this.listausuar = listausuar;
	}
	
	
	public String Action_Aceptar()throws Exception{
		
String	 nombre=valoresItemsauten.toString();
          
String  passt=txtpasswor.getValue().toString();
autenticarLogica consu=new autenticarLogica();


  Funcionarios    respu=consu.ConsultarUnUsuario(nombre);
   List<Usuarios>   respuestpass=consu.ConsultarUnUsuarioxPass(passt);
  
   Usuarios ent=new Usuarios();
  
   List<Usuarios>  consulta= consu.ConsultarUnUsuarioxPass(passt);
   
   //Usuarios tr=(Usuarios)consulta;
 //  String   tipo=tr.getTipoUsuarios().getCodTusuario();

	String objDepartamentos = null;
	String reglaNavegacion=null;
   
   for(Usuarios temp : consulta){
		if(temp.getContrasena().toString().equals(passt.toString()) ){
		
			//obtiene la sesion
			HttpSession sesion=FacesUtils.getSession();
			sesion.setAttribute("usuario", temp);
			
			System.out.println("entre en if depa");
			objDepartamentos= temp.getTipoUsuarios().getCodTusuario();
			
		}
	}
  
	
//	depart = valoresItemsDep.longValue();
   
   
	if((respu!=null) && (respuestpass!=null)&&(respuestpass.size() != 0)){
		
		 reglaNavegacion=CargaParametros.getInstance().cargarParametro("parametro",objDepartamentos);
	}else{
		FacesUtils.addErrorMessage("Datos  Incorrectos");
			
		}
	
   	    
	   return reglaNavegacion;
	
	
	
	
	/*
	mensaje="El Password Ingresado es Invalido";
	Pulsate pulsate = new Pulsate();
    pulsate.setDuration(3.0f);

  
    efectos = new EffectQueue("effectPulsate");

   
 
    efectos.add(new Highlight("#99ccff"));
    efectos.add(new Pulsate(0.3f));
   
	popUpVisibleGuar=true;*/
	
	}
	 
	
	
	/*public boolean popUpVisibleGuar=false;
	 public String cerrarPopUpGuar(){
		 try {
			 popUpVisibleGuar=false;
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		
		 return "";
		 }
	*/
}

